https://arxiv.org/pdf/1603.02754.pdf
阅读目标
了解作者群
1 论文解决了什么问题
2 论文核心贡献是什么
3 详细研究论文的具体方法
介绍
文中提到,XGBoost,这个系统的效果已经被大量的机器学习和数据挖掘竞赛所验证。以Kaggle为例,2015年29组优胜方案中17组使用了XGBoost。这其中,8组只是使用了XGBoost去训练模型,其他大部分都是将XGBoost和神经网络做集成。作为对比,第二受欢迎的工具,深度神经网络,有11组采用。在KDDCup 2015中,top-10 每一组都使用了XGBoost。
在以下问题上提出了优胜的解决方案,包括:商店销售预测,高能物理事件分类,网站文本分类,顾客行为预测,动作检测,广告点击通过率预测,风险预测,大规模的在线课程辍学率预测。
XGBoost在所有场景中的可扩展性也十分的重要,XGBoost的可扩展性归功于一些重要的系统和算法优化。这些创新包括:一种处理稀疏数据的新奇的树的学习算法;并行和分布式计算让学习进行的更快能够进行更快的模型探索。提出了具有合理理论支撑的分布分位调整框架。
论文的主要贡献有:
- 构建了高可扩展的端到端的boosting系统。
- 提出了具有合理理论支撑的分布分位调整框架。
- 介绍了一个新奇的并行适应稀疏处理树学习算法。
- 提出了基于缓存快的结构便于外存树的学习。
已经有人做了并行树、基于外存的计算、缓存的计算、稀疏特征的学习等一些列工作,这篇文章最重要的是能够把很多特征结合到一个系统中。
文章的组织结构:boosting树的正则化(防止过拟合)、树的split方法(decision Tree 使用Gini划分)、系统设计、实验。
除了正则项外,文中还提到了两种防止过拟合的技术,Shrinkage 和 Subsampling
Subsampling 就按照随机森林去理解。
Shrinkage仍然以残差作为学习目标,但对于残差学习出来的结果,只累加一小部分(step*残差)逐步逼近目标,step一般都比较小,如0.01~0.001(注意该step非gradient的step),导致各个树的残差是渐变的而不是陡变的。直觉上这也很好理解,不像直接用残差一步修复误差,而是只修复一点点,其实就是把大步切成了很多小步。本质上,Shrinkage为每棵树设置了一个weight,累加时要乘以这个weight。Shrinkage能减少过拟合发生也是经验证明的,目前还没有看到从理论的证明。
陈天奇XGBoost ppt(内容非常详细)链接:https://pan.baidu.com/s/10NWfRM9qimswGxPsF9VlDw 密码:v3y6